home *** CD-ROM | disk | FTP | other *** search
-
- /************************************************************
-
- Created: Monday, July 22, 1991 at 4:45 PM
- Icons.h
- C Interface to the Macintosh Libraries
-
-
- Copyright Apple Computer, Inc. 1990-1991
- All rights reserved
-
- This file is used in these builds: BigBang
-
- Change History (most recent first):
-
- <9> 3/17/93 jg Change how procinfos are constructed
- <8> 2/26/93 EPT Changed “Descriptor”s to “UPP”s.
- <5> 12/9/92 jrc Deal with RS6000 C++ compiler. Cast 4 byte enums with set sign
- bits to (long).
- <4> 11/4/92 EPT Removed “RD” from field names and parameter lists.
- <3> 10/13/92 jrc Changed QuickDraw.h to Quickdraw.h for UNIX compiling.
- <2> 9/28/92 stb changed procPtrs to routine descriptors
- <23> 6/11/92 DCL Changed "Rect *textRect"
- to "const Rect *textRect" in RectInIconID, RectInIconSuite,
- RectInIconMethod.
- Changed all uses of "alignment" in prototypes to "align" for
- consistancy within and between the c & h files. Cleanup &
- formatting to match Interface Stacks. Happy Happy Joy Joy.
- <22> 5/5/92 DCL Added 'const' to '*iconRect' in prototypes of The PtInIcon__,
- RectInIcon__, Icon__ToRgn. OK, dave?
- <21> 3/17/92 DC imported all private routines and typedef's from IconUtilsPriv.h
- and cleaned up constants to be enums.
- <20> 7/23/91 JL Checked in File from database. Changed #defines to enums.
- <19> 1/17/91 DC csd - Add genericExtensionIconResource
- <18> 1/16/91 JDR (dba) Renamed spoolFolderIconResource into
- printMonitorFolderIconResource.
- <17> 1/7/91 JDR (dba) Removing private Icon Utilities routines.
- <16> 11/29/90 DC ngk - Add interface for GetIconDevice.
- <15> 11/19/90 DC ngk - Moved System Icon ID's from private to public and added
- interfaces for PlotIconHandle PlotSICNHandle and PlotCIconHandle
- interfaces for PlotIconHandle PlotSICNHandle and PlotCIconHandle
- <14> 10/09/90 JAL Changed comments from // to /* for Think C compatability.
- <13> 9/19/90 DC Changed names of some routines to be more descriptive
- <12> 9/15/90 DC Removed SetLabel from public interface
- <11> 9/4/90 DC Fixed interface to icon-to-region conversion routines
- <10> 7/25/90 DC added interface for Get/Set cache Procs/Data
- <9> 7/23/90 DC Added interfaces for SetOneScreen, etc
- <8> 7/12/90 DC Removed support for ttGhost
- <7> 7/5/90 DC Added interfaces for all hit-testing and region-producing
- routines.
- <6> 6/29/90 DC Add labeling transforms
- <5> 6/13/90 DC changed terminateInterator to haltIterator
- <4> 6/7/90 ngk Added type definitions for IconSelectorValue, IconAlignmentType,
- and IconTransformType
- <3> 5/31/90 DC Minor interface cleanup
- <2> 5/30/90 DC Fixed name of protection identifier from __ICONUTILS__ to
- __ICONS__
- <1> 5/30/90 DC first checked in as Icons.h
- <6> 5/22/90 DC Made IconCaches a subclass of iconsuites.
- <5> 5/4/90 DC Added Interfaces for NewIconSuite, etc. Added new transform
- ttGhost
- <4> 4/11/90 DC Changed interfaces for transforms
- <3> 4/10/90 DC Made PlotIconCache and PlotIconSuite into PlotBestIcon
- <2> 4/9/90 DC Added new IconCache routines
- <1> 4/7/90 DC first checked in
-
- ************************************************************/
-
-
- #ifndef __ICONS__
- #define __ICONS__
-
- #ifndef __TYPES__
- #include <Types.h>
- #endif
-
- #ifndef __QUICKDRAW__
- #include <Quickdraw.h>
- #endif
-
- enum {
-
-
- /* The following are icons for which there are both icon suites and SICNs. */
- genericDocumentIconResource = -4000,
- genericStationeryIconResource = -3985,
- genericEditionFileIconResource = -3989,
- genericApplicationIconResource = -3996,
- genericDeskAccessoryIconResource = -3991,
-
- genericFolderIconResource = -3999,
- privateFolderIconResource = -3994,
-
- floppyIconResource = -3998,
- trashIconResource = -3993,
-
- /* The following are icons for which there are SICNs only. */
- desktopIconResource = -3992,
- openFolderIconResource = -3997,
- genericHardDiskIconResource = -3995,
- genericFileServerIconResource = -3972,
- genericSuitcaseIconResource = -3970,
- genericMoverObjectIconResource = -3969,
-
- /* The following are icons for which there are icon suites only. */
- genericPreferencesIconResource = -3971,
- genericQueryDocumentIconResource = -16506,
- genericExtensionIconResource = -16415,
-
- systemFolderIconResource = -3983,
- appleMenuFolderIconResource = -3982
- };
- enum {
- startupFolderIconResource = -3981,
- ownedFolderIconResource = -3980,
- dropFolderIconResource = -3979,
- sharedFolderIconResource = -3978,
- mountedFolderIconResource = -3977,
- controlPanelFolderIconResource = -3976,
- printMonitorFolderIconResource = -3975,
- preferencesFolderIconResource = -3974,
- extensionsFolderIconResource = -3973,
-
- fullTrashIconResource = -3984
-
-
- #define large1BitMask 'ICN#'
- #define large4BitData 'icl4'
- #define large8BitData 'icl8'
- #define small1BitMask 'ics#'
- #define small4BitData 'ics4'
- #define small8BitData 'ics8'
- #define mini1BitMask 'icm#'
- #define mini4BitData 'icm4'
- #define mini8BitData 'icm8'
- };
-
- /* alignment type values */
-
- enum {
- atNone = 0x0,
- atVerticalCenter = 0x1,
- atTop = 0x2,
- atBottom = 0x3,
- atHorizontalCenter = 0x4,
- atAbsoluteCenter = (atVerticalCenter | atHorizontalCenter),
- atCenterTop = (atTop | atHorizontalCenter),
- atCenterBottom = (atBottom | atHorizontalCenter),
- atLeft = 0x8,
- atCenterLeft = (atVerticalCenter | atLeft),
- atTopLeft = (atTop | atLeft),
- atBottomLeft = (atBottom | atLeft),
- atRight = 0xC,
- atCenterRight = (atVerticalCenter | atRight),
- atTopRight = (atTop | atRight),
- atBottomRight = (atBottom | atRight)
- };
- typedef short IconAlignmentType;
-
-
- /* transform type values */
- enum {
- ttNone = 0x0,
- ttDisabled = 0x1,
- ttOffline = 0x2,
- ttOpen = 0x3,
- ttLabel1 = 0x0100,
- ttLabel2 = 0x0200,
- ttLabel3 = 0x0300,
- ttLabel4 = 0x0400,
- ttLabel5 = 0x0500,
- ttLabel6 = 0x0600,
- ttLabel7 = 0x0700,
- ttSelected = 0x4000,
- ttSelectedDisabled = (ttSelected | ttDisabled),
- ttSelectedOffline = (ttSelected | ttOffline),
- ttSelectedOpen = (ttSelected | ttOpen)
- };
- typedef short IconTransformType;
-
-
- /* Selector mask values */
- enum {
- svLarge1Bit = 0x00000001,
- svLarge4Bit = 0x00000002,
- svLarge8Bit = 0x00000004,
- svSmall1Bit = 0x00000100,
- svSmall4Bit = 0x00000200,
- svSmall8Bit = 0x00000400,
- svMini1Bit = 0x00010000,
- svMini4Bit = 0x00020000,
- svMini8Bit = 0x00040000,
- svAllLargeData = 0x000000ff,
- svAllSmallData = 0x0000ff00,
- svAllMiniData = 0x00ff0000,
- svAll1BitData = (svLarge1Bit | svSmall1Bit | svMini1Bit),
- svAll4BitData = (svLarge4Bit | svSmall4Bit | svMini4Bit),
- svAll8BitData = (svLarge8Bit | svSmall8Bit | svMini8Bit),
- svAllAvailableData = (long) 0xffffffff
- };
- typedef unsigned long IconSelectorValue;
-
- typedef pascal OSErr (*IconAction)(ResType theType, Handle *theIcon, void *yourDataPtr);
- typedef pascal Handle (*IconGetter)(ResType theType, void *yourDataPtr);
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
- pascal OSErr PlotIconID(const Rect *theRect,
- IconAlignmentType align,
- IconTransformType transform,
- short theResID)
- = {0x303C, 0x0500, 0xABC9};
-
- pascal OSErr NewIconSuite(Handle *theIconSuite)
- = {0x303C, 0x0207, 0xABC9};
-
- pascal OSErr AddIconToSuite(Handle theIconData,
- Handle theSuite,
- ResType theType)
- = {0x303C, 0x0608, 0xABC9};
-
- pascal OSErr GetIconFromSuite(Handle *theIconData,
- Handle theSuite,
- ResType theType)
- = {0x303C, 0x0609, 0xABC9};
-
- pascal OSErr ForEachIconDo(Handle theSuite,
- IconSelectorValue selector,
- ProcPtr action,
- void *yourDataPtr)
- = {0x303C, 0x080A, 0xABC9};
-
- pascal OSErr GetIconSuite(Handle *theIconSuite,
- short theResID,
- IconSelectorValue selector)
- = {0x303C, 0x0501, 0xABC9};
-
- pascal OSErr DisposeIconSuite(Handle theIconSuite,
- Boolean disposeData)
- = {0x303C, 0x0302, 0xABC9};
-
- pascal OSErr PlotIconSuite(const Rect *theRect,
- IconAlignmentType align,
- IconTransformType transform,
- Handle theIconSuite)
- = {0x303C, 0x0603, 0xABC9};
-
- pascal OSErr MakeIconCache(Handle *theHandle,
- ProcPtr makeIcon,
- void *yourDataPtr)
- = {0x303C, 0x0604, 0xABC9};
-
- pascal OSErr LoadIconCache(const Rect *theRect,
- IconAlignmentType align,
- IconTransformType transform,
- Handle theIconCache)
- = {0x303C, 0x0606, 0xABC9};
-
- pascal OSErr PlotIconMethod(const Rect *theRect,
- IconAlignmentType align,
- IconTransformType transform,
- ProcPtr theMethod,
- void *yourDataPtr)
- = {0x303C, 0x0805, 0xABC9};
-
- pascal OSErr GetLabel(short labelNumber,
- RGBColor *labelColor,
- Str255 labelString)
- = {0x303C, 0x050B, 0xABC9};
-
- pascal Boolean PtInIconID(Point testPt,
- const Rect *iconRect, /* <22> */
- IconAlignmentType align,
- short iconID)
- = {0x303C, 0x060D, 0xABC9};
-
- pascal Boolean PtInIconSuite(Point testPt,
- const Rect *iconRect, /* <22> */
- IconAlignmentType align,
- Handle theIconSuite)
- = {0x303C, 0x070E, 0xABC9};
-
- pascal Boolean PtInIconMethod(Point testPt,
- const Rect *iconRect, /* <22> */
- IconAlignmentType align,
- ProcPtr theMethod,
- void *yourDataPtr)
- = {0x303C, 0x090F, 0xABC9};
-
- pascal Boolean RectInIconID(const Rect *testRect,
- const Rect *iconRect, /* <22> */
- IconAlignmentType align,
- short iconID)
- = {0x303C, 0x0610, 0xABC9};
-
- pascal Boolean RectInIconSuite(const Rect *testRect,
- const Rect *iconRect, /* <22> */
- IconAlignmentType align,
- Handle theIconSuite)
- = {0x303C, 0x0711, 0xABC9};
-
- pascal Boolean RectInIconMethod(const Rect *testRect,
- const Rect *iconRect, /* <22> */
- IconAlignmentType align,
- ProcPtr theMethod,
- void *yourDataPtr)
- = {0x303C, 0x0912, 0xABC9};
-
- pascal OSErr IconIDToRgn(RgnHandle theRgn,
- const Rect *iconRect, /* <22> */
- IconAlignmentType align,
- short iconID)
- = {0x303C, 0x0613, 0xABC9};
-
- pascal OSErr IconSuiteToRgn(RgnHandle theRgn,
- const Rect *iconRect, /* <22> */
- IconAlignmentType align,
- Handle theIconSuite)
- = {0x303C, 0x0714, 0xABC9};
-
- pascal OSErr IconMethodToRgn(RgnHandle theRgn,
- const Rect *iconRect, /* <22> */
- IconAlignmentType align,
- ProcPtr theMethod,
- void *yourDataPtr)
- = {0x303C, 0x0915, 0xABC9};
-
- pascal OSErr SetSuiteLabel(Handle theSuite, short theLabel)
- = {0x303C, 0x0316, 0xABC9};
-
- pascal short GetSuiteLabel(Handle theSuite)
- = {0x303C, 0x0217, 0xABC9};
-
- pascal OSErr GetIconCacheData(Handle theCache, void **theData)
- = {0x303C, 0x0419, 0xABC9};
-
- pascal OSErr SetIconCacheData(Handle theCache, void *theData)
- = {0x303C, 0x041A, 0xABC9};
-
- pascal OSErr GetIconCacheProc(Handle theCache, ProcPtr *theProc)
- = {0x303C, 0x041B, 0xABC9};
-
- pascal OSErr SetIconCacheProc(Handle theCache, ProcPtr theProc)
- = {0x303C, 0x041C, 0xABC9};
-
- pascal OSErr PlotIconHandle(const Rect *theRect,
- IconAlignmentType align,
- IconTransformType transform,
- Handle theIcon)
- = {0x303C, 0x061D, 0xABC9};
-
- pascal OSErr PlotSICNHandle(const Rect *theRect,
- IconAlignmentType align,
- IconTransformType transform,
- Handle theSICN)
- = {0x303C, 0x061E, 0xABC9};
-
- pascal OSErr PlotCIconHandle(const Rect *theRect,
- IconAlignmentType align,
- IconTransformType transform,
- CIconHandle theCIcon)
- = {0x303C, 0x061F, 0xABC9};
-
- #ifdef __cplusplus
- }
- #endif
-
- #endif
-